home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / os2 / sockd.zip / SOCKD.DOC < prev    next >
Text File  |  1997-05-18  |  10KB  |  226 lines

  1. If some of you are interrested, I developped a new PM version of my
  2. sockd server for OS/2.
  3. Due to the fact socks V4 protocol requires "DNS name" support, I used the
  4. DNS kit or DDNS code from Warp Server on the same OS/2 gateway workstation.
  5.  
  6. A socks support is required on the end-user stations to enable these to
  7. use the sockd gateway. For my V4 tests, I used the "socks" code from OS/2 V4,
  8. Web Explorer 1.2, Netscape/2  and ...
  9.  
  10. Sockd 1.13:
  11. - add support for proxy connections between sockD servers (no authentication
  12.   and NO encryption support at this time... ).
  13.  
  14. Sockd 1.12:
  15. - correct the "adapter" spin in the "profile" setup window... It was
  16.   in any case giving "sl0"...
  17. - add support for sockd.log archiving. By sample it can be saved every
  18.   day into a "sockdlog.NNN" file and only the seventh last days were kept.
  19.   A sample REXX program (sockdrep.cmd) is also included to write a report
  20.   of sockd utilization from these "archived" sockdlog files (in the current
  21.   directory.
  22. - add an option to permit ONLY socks V5 userid/password authentication if
  23.   userids are specified in the "permit" statement(s).(In V4 there is NO
  24.   password checking).
  25.  
  26. Sockd 1.11:
  27. - correct SYS3175 on systems with more than 256 fonts...
  28. - correct SYS3175 at end of initialization if "no logging" was selected.
  29. - add parameters to customize TCP session time-out to support "long" telnet
  30.   connections. A UDP time-out parameter was also added for UDP Associate
  31.   sessions.
  32.  
  33. Sockd 1.10:
  34. - many corrections on PM  "font" support and presentation...
  35.  
  36. Sockd 1.09:
  37. - convert the auto-dial adapter name to lower case before calling "ioctl"
  38.   It corrects problems with auto-dial function.
  39. - add support for "font selection"...
  40.  
  41. Sockd 1.08:
  42. - Tested on OS/2 Warp V4
  43. - auto-configuration of IP alias addresses from OS/2 V4 MPTS.
  44. - Now compiled with Visualage C++ V3 and OS/2 Toolkit V3.
  45. - Enhanced help with RFC 1918 to describe "reusable" IP subnet addresses
  46.   and setup of DDNS server (from Warp Server).
  47. - A correction was build on the UDP Associate protocol to support a destination
  48.   address of 0 in the  command and to get the real destination from the first
  49.   frame sent. Support for frame sequencing was also added but with a limit
  50.   of 8 KBytes as buffer size.
  51. - In addition to flags "811" I add support for "851"(<UP,POINTTOTPOINT,RUNNING>)
  52.  
  53.  
  54. Sockd 1.07:
  55. - To correct a "SYS3175" from time to time at the end of "initialization".
  56.  
  57. Sockd 1.06:
  58. - Support for UDP Associate (V5 only as described in RFC 1928) is added.
  59.   An "rpingv5" commmand is also given as sample to ping hosts on the other
  60.   side of the "firewall". It uses UDP Associate to connect to the sockd
  61.   server with a destination port of "1". The  sockd opens a "raw" socket
  62.   for "icmp" if dest port is 1 (otherwise a UDP socket for standard
  63.   UDP associate applications)... The command pings by default every 3
  64.   seconds (and not every second) to go through the firewall.
  65.   To use it gives the firewall IP address as additional parameter.
  66.   By sample : "rpingv5 www.yahoo.com 9.36.71.9".
  67.  
  68.  
  69. Sockd 1.05:
  70. 1) Auto-Dial setup dialog window had a problem to setup another adapter
  71.    than sl0
  72. 2) Put the initialization process in a thread
  73.  
  74. What's new in sockd 1.04:
  75. 1) PM code was improved to suppress "flickering".
  76. 2) Correction of sockets opened by error during auto-dial process.
  77. 3) Four levels of logging (to avoid too big file if sockd is running
  78.    for a long time).
  79.  
  80. Functions added in sockd 1.03:
  81. 1) Support for switched auto-dial connection to an Internet provider.
  82.   For it, you have to customize two batch files:
  83.   1) sockdial.cmd to dial and logon to the service provider
  84.   2) sockclos.cmd to close the connection (after a delay without session)
  85.   These two "exec" files must be put in a directory set in your "path" statement
  86.   Sockd checks the status of the dial-up connection with the "flags" of the
  87.   the adapter status. On the time being only "811" is considered as OK.
  88.   If you need another status support, please send a note to
  89.     GILLAIN at BRUVMIS1
  90. 2) In addition to the auto-dial function, I try to add "auto" configuration
  91.   for the sockd.rte (the route file) and in auto-dial I put by default
  92.   a sockd.cfg giving access to anybody from subnets connected on "fixed"
  93.   adapters (LAN) to the public network (all ports)... Noboby has access
  94.   to any TCP port on local "LAN" from the "external" network (through the
  95.   auto-dial adapter).
  96. Corrections:
  97. 1) Socks V4 works again (it was damaged in 1.02)
  98. 2) One "extra" byte suppressed in socks V5 DNS support
  99.  
  100. Test configuration
  101.  
  102.                  ----
  103.             ----     ---
  104.         ----            ----
  105.     ----    Internet        --
  106.        ----                    -
  107.            ------ IBM IGN   --
  108.                 ---*-------
  109.                    *
  110.                    *
  111.                 *******                     testuser
  112.                  *   *  Dial-up            ----------
  113.                   * *   modem              *Thinkpad*
  114.                    *                       ----*-----
  115.       * *          *                           *
  116.     *     *  ------*------    Ethernet         *9.36.71.10
  117.    * T-R   *** PS/VP     *---------------------*---
  118.     *     *  * bebd238   *9.36.71.9
  119.       * *    -------------
  120.          9.132.89.238
  121.  ibm.com                          philg.benelux.ibm.com
  122.  9.0.0.0                             9.36.71.0
  123.  
  124. With a correct setup, it is possible to use Internal servers (ibm.com)
  125. through sockd on the PS/VP. If an external server is used (by sample
  126. www.yahoo.com) the auto-dial is automaticcally used.
  127. The choice is done through "sockd.rte" configuration. By default sockd
  128. gives only access to the "local" subnet on the LAN adapter (9.132.88.0).
  129. The "auto-dial" adapter is automatically set as giving access to world.
  130.  
  131. Functions added in sockd 1.02:
  132. 1) A partial support of Socks V5 protocols:
  133.   a) no authentication and userid/password authentication
  134.   b) IP address V4 and DNS name in CONNECT and BIND for Version 5
  135.   c) IP addresses V6 are NOT supported (I need another TCP/IP stack for that)
  136.   d) GSSAPI is not supported (it requires OS/2 DCE V2)
  137.   e) UDP Associate is also NOT implemented (it is a sort of IP tunneling)
  138. 2) A test rftp (rftpv5.exe) command is provided for testing V5 protocols
  139.   It supports only some FTP subcommands (dir, get, put, del, mget and pwd).
  140.   This test command can be used without a Socks gateway
  141.  
  142.   rftpv5 ps.boulder.ibm.com
  143.  
  144.   or through a Socks V5 gateway giving its address as second parameter
  145.  
  146.   rftpv5 ps.boulder.ibm.com 9.36.71.9 by sample
  147.  
  148.  
  149. Functions included in sockd 1.01 are:
  150. 1) support of SOCKS_BIND for FTP application (tested only with socksbeta)
  151. 2) server port number modifiable
  152. 3) logging for successfull and denied sessions (can be disabled)
  153. 4) easy configuration (sockd finding IP addresses from the stack)
  154.    (but it should use previous configuration files)
  155. 5) dynamic reset (without stopping the program) for testing new config
  156.  
  157. You can get the executable code as "sockd.zip" by anonymous FTP on
  158. bedb237.benelux.ibm.com (9.132.89.237) ...
  159. The source code (IBM Internal Use Only) is available on request (send a note).
  160.  
  161. Problems ?:
  162. -----------
  163.  
  164. 1)If sockd doesn't start when named is running:
  165. From time to time sockd blocks in a "gethostbyaddr()" macro used to convert
  166. one of the local IP address in a name. The solution is to stop named (CTRL-C),
  167. start sockd, when it is running, restart named.
  168.  
  169. 2)If after stopping sockd, you can NOT restart it, wait for 2 minutes
  170. and then restart it (the port number 1080 is blocked, sockd tries to "REUSE"
  171. it but ...)
  172.  
  173. 3)If your configuration is limited to one LAN adapter and one dial adapter,
  174. it is better to test sockd without configuring it...
  175. During tests use the view menu option, after check the sockd.log file.
  176.  
  177. 4)If you have really a problem to setup a name server on the gateway
  178. station, define a "hosts" file. For that, when you are testing your
  179. "sockdial.cmd" after the connection and authentication are successfully
  180. completed, use :
  181.  
  182.   host www.yahoo.com
  183.  
  184. in an OS/2 Window.You are able to get the IP addresses of your favorite servers.
  185. If you install a "completed" hosts file in the ETC directory of the end-user PC
  186. you can test sockd with WebEx (socks V4) without setting a name server.
  187. With a name server and its caching mechanism, you have access to any server.
  188. With an hosts file access is limited...
  189.  
  190. 5)To support socks V5 DNS, the dial-up connection is started automatically
  191. if the name can NOT be locally translated... A better solution is perhaps
  192. to define a list of the "internal" domain names, and to start the connection
  193. only if the request is for another domain name.
  194. On the time being, sockd start the dial-up connection for V5, before checking
  195. if the connection is "permitted" except if the DNS name can be locally
  196. converted (this local checking through named can take 1 minute (time-out).
  197. After the connection is established, response times are normal...
  198.  
  199. 6)In this version, only the flags "811" (<UP,POINTTOPOINT>) is considered
  200. as a "good" status (connection established) on the dial-up adapter.
  201. Support was already added for flags "851" (<UP,POINTTOPOINT,RUNNING>).
  202. If the "auto-dial" doesn't work for you, please check these flags with:
  203.  
  204.  ifconfig ppp0  (by sample)
  205.  
  206. Send a note to me and I'll add the required support...
  207.  
  208. 7)With current V4 applications like WebEx, the first session must be
  209. done to a DNS name translatted locally (named or hosts file).
  210. After the dial-up connection is established, names can be translatted by
  211. the Internet provider name server, and cached in the local nameD.
  212.  
  213. 8) The DNS kit nameD server can block if the system is fully "socksified".
  214. Don't hesitate to rename the "socks.cfg" file in the ETC directory when
  215. you are running sockD. Unfortunately sockD was not YET tested with the DNS
  216. server of WARP Server...
  217.  
  218. 9)Using WebEx through sockd, some ".gif" files are not correctly received
  219. I am investigating why and how to improve it.
  220.  
  221.  
  222. Any suggestion or question to Philippe Gillain
  223.  
  224.     Philippe_Gillain@be.ibm.com
  225.  
  226.